<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <button>获取验证码</button>

    <script>

        // this很多的指向 --- 在不同的函数中有不同的指向

        //  1 在事件处理函数中   this -> 事件源 -> 绑定事件的对象
        //  2 普通函数指向window
        //  3 在对象中，方法会指向这个对象



        // const oBtn = document.querySelector('button') ;
        // oBtn.onclick = function() {
        //     console.log(this)  // oBtn
        //     this.innerHTML = '10s倒计时';
        //     this.disabled = true ;
        //     let count = 10 ;
        //     let timer = setInterval(function(){
        //         count--;
        //         console.log(this);   // window
        //         this.innerHTML = count + 's倒计时';
        //     } , 500)
        // }



        // 实际上全局变量和全局函数都属于window对象的自定义属性和方法
        let a = 3 ;
        console.log(window.a);

        window.fn();

        function fn() {
            console.log(this);
        }


        setTimeout(function(){
            console.log(this);
        })


        const person = {
            name : 'cc' ,
            say : function() {
                console.log(this);   // person这个对象
                setTimeout(function() {
                    console.log(this);   // window
                })
            }
        }

        person.say();

    </script>
    
</body>
</html>